/**
 * Corp.java
 * create by Lisq
 * date 2014-3-31
 */
package com.lsq.zu_he_mo_shi_two;

/**
 * @author Lisq 
 * 定义一个公司的人员的抽象类
 */
public abstract class Corp {

	// 公司每个人都有名称
	private String name = "";
	// 公司每个人都职位
	private String position = "";
	// 公司每个人都有薪水
	private int salary = 0;
	// 父节点是谁
	private Corp parent = null;

	/*
	 * 通过接口的方式传递，我们改变一下习惯， 
	 * 传递进来的参数名以下划线开始 这个在一些开源项目中非常常见， 
	 * 一般构造函数都是这么定义的
	 */
	public Corp(String name, String position, int salary) {
		this.name = name;
		this.position = position;
		this.salary = salary;
	}

	// 获得员工信息
	public String getInfo() {
		String info = "";
		info = "姓名：" + this.name;
		info = info + "\t职位：" + this.position;
		info = info + "\t薪水：" + this.salary;
		return info;
	}

	// 设置父节点
	protected void setParent(Corp parent) {
		this.parent = parent;
	}

	// 得到父节点
	public Corp getParent() {
		return this.parent;
	}
}
